package com.qjdchina.sku.converter;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import org.springframework.beans.BeanUtils;

import com.qjdchina.sku.model.ProductSet;
import com.qjdchina.sku.model.vo.MongoSkuProductVO;
import com.qjdchina.sku.model.vo.ProductSetVO;
import com.qjdchina.sku.model.vo.SkuProductVO;

public class ProductSetConverter {

	
	private ProductSetConverter(){
		
	}
	/**
	 * ProductSet to ProductSetVO
	 * @param productSet
	 * @return
	 */
	public static ProductSetVO toProductSetVO(ProductSet productSet){
		
		ProductSetVO productSetVO = new ProductSetVO();
		if (null==productSet) {
			return productSetVO;
		}
		BeanUtils.copyProperties(productSet, productSetVO);
		return productSetVO;
	}
	/**
	 * ProductSetVO to ProductSet
	 * @param productSetVO
	 * @return
	 */
	public static ProductSet toProductSet(ProductSetVO productSetVO){
		
		ProductSet productSet=new ProductSet();
		if (null==productSetVO) {
			return productSet;
		}
		BeanUtils.copyProperties(productSetVO, productSet);
		return productSet;
	}
	/**
	 * List<ProductSet> to List<ProductSetVO>
	 * @param productSets
	 * @return
	 */
	public static List<ProductSetVO> toProductSetVOs(List<ProductSet> productSets){

		if (null==productSets) {
			return Collections.emptyList();
		}
		List<ProductSetVO> productSetVOs=new ArrayList<ProductSetVO>();
		for (ProductSet productSet : productSets) {
			productSetVOs.add(ProductSetConverter.toProductSetVO(productSet));
		}
		return productSetVOs;
	}


	public static MongoSkuProductVO toMongoSkuProductVO(SkuProductVO skuProductVO) {
		MongoSkuProductVO mongoSkuProductVO = new MongoSkuProductVO();
		mongoSkuProductVO.setProductId(skuProductVO.getProductId());
		mongoSkuProductVO.setProductName(skuProductVO.getProductName());
		mongoSkuProductVO.setAddress(skuProductVO.getAddress());
		mongoSkuProductVO.setApprovaler(skuProductVO.getApprovaler());
		mongoSkuProductVO.setAuditStatus(skuProductVO.getAuditStatus());
		mongoSkuProductVO.setAuditTime(skuProductVO.getAuditTime());
		mongoSkuProductVO.setCompanyId(skuProductVO.getCompanyId());
		mongoSkuProductVO.setCompanyName(skuProductVO.getCompanyName());
		mongoSkuProductVO.setDescription(skuProductVO.getDescription());
		mongoSkuProductVO.setDisplayPrice(skuProductVO.getDisplayPrice());
		mongoSkuProductVO.setGmtCreated(skuProductVO.getGmtCreated());
		mongoSkuProductVO.setGmtModified(skuProductVO.getGmtModified());
		mongoSkuProductVO.setIsDeleted(skuProductVO.getIsDeleted());
		mongoSkuProductVO.setPicturePath(skuProductVO.getPicturePath());
		mongoSkuProductVO.setPicturePathAbsolute(skuProductVO.getPicturePathAbsolute());
		mongoSkuProductVO.setPicturePathType(skuProductVO.getPicturePathType());
		mongoSkuProductVO.setPrice(skuProductVO.getPrice().doubleValue());
		mongoSkuProductVO.setProductCode(skuProductVO.getProductCode());
		mongoSkuProductVO.setSkuBrandId(skuProductVO.getSkuBrandId());
		mongoSkuProductVO.setSkuCategoryId(skuProductVO.getSkuCategoryId());
		mongoSkuProductVO.setSkuUserId(skuProductVO.getSkuUserId());
		mongoSkuProductVO.setThumbnail(skuProductVO.getThumbnail());
		mongoSkuProductVO.setThumbnailAbsolute(skuProductVO.getThumbnailAbsolute());
		return mongoSkuProductVO;
	}
	

}
